void main(List<String> args) {
  superman s = new superman();
  s.running();
  s.fly();
  s.run();
}

// dart中没有哪一个关键字是用用来定义接口的
// 没有这些关键字interface
// 默认情况下所有的类都是隐式接口
// 当将一个类当作接口使用时，那么实现这个接口的类，必须实现这个接口中所有方法
class Animal {
  void running() {
    print("跑");
  }

  void eating() {
    print("吃");
  }
}

mixin Runner {
  void run() {
    print("run");
  }
}
mixin Flyer {
  void fly() {
    print("fly");
  }
}

class superman extends Animal with Runner, Flyer {
  @override
  void run() {
    // TODO: implement run
    super.run();
    print("覆盖的跑");
  }
}
